package com.pro.service;

import com.pro.pojo.JsClosure;
import com.pro.pojo.JsDept;
import com.pro.pojo.JsUnseal;
import com.pro.pojo.JsUser;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author cyj
 * @date 2022.2.27$ 15.55$
 * @content :
 */
public interface JsJurisdictionService {
    /**
     * @author cyj
     * @date 2022.2.27$ 15.55$
     * @content :获取所有的部门名称
     */
    List<JsDept> getDeptName();
    /**
     * @author cyj
     * @date 2022.2.27$ 19.06$
     * @content :获取所有员工信息
     */
    List<JsUser> getUsers(String account,String trueName,String deptName,String registerDate,Integer limit,Integer page);
    /**
     * @author cyj
     * @date 2022.2.27$ 19.16$
     * @content :统计用户个数
     */
    Integer countUser();
    /**
     * @author cyj
     * @date 2022.3.3$ 15.27$
     * @content :更新用户状态
     */
    Boolean updateStatus(JsUser jsUser);
    /**
     * @author cyj
     * @date 2022.3.3$ 15.36$
     * @content :解封日志添加
     */
    Boolean insertUnseal(Integer userId,Integer type,String unsealDate);
    /**
     * @author cyj
     * @date 2022.3.3$ 15.58$
     * @content :封禁日志添加
     */
    Boolean addUserClosure(JsClosure jsClosure);
    /**
     * @author cyj
     * @date 2022.3.4$ 8.57$
     * @content :查询某个用户的详细信息
     */
    JsUser getUserById(Integer id);
    /**
     * @author cyj
     * @date 2022.3.8$ 8.08$
     * @content :修改某个用户的信息
     */
    Boolean updateUser(JsUser jsUser);
    /**
     * @author cyj
     * @date 2022.3.8$ 13.41$
     * @content :查询用户所拥有的权限
     */
    List<JsUser> getUserPower(Integer userId);
    /**
     * @author cyj
     * @date 2022.3.9$ 8.52$
     * @content :添加用户所拥有的权限
     */
    Boolean addUserGrade(JsUser user);
    /**
     * @author cyj
     * @date 2022.3.9$ 9.24$
     * @content :添加用户所拥有的权限
     */
    Boolean delUserGrade(JsUser user);
    /**
     * @author cyj
     * @date 2022.3.9$ 14.08$
     * @content :添加一位用户
     */
    Boolean addUser(JsUser user);
    /**
     * @author cyj
     * @date 2022.3.10$ 8.49$
     * @content :查看解封日志
     */
    List<JsUnseal> getUnsealingLog(String account,String deptName,String unsealDate,Integer limit,Integer page);
    /**
     * @author cyj
     * @date 2022.3.10$ 8.55$
     * @content :解封日志计数
     */
    Integer countUnsealingLog();
    /**
     * @author cyj
     * @date 2022.3.10$ 14.27$
     * @content :获取部门信息
     */
    List<JsDept> getJsDeptList(String deptName,String trueName,String createDate,String status,Integer limit,Integer page);
    /**
     * @author cyj
     * @date 2022.3.10$ 14.34$
     * @content :对部门进行计数
     */
    Integer countJsDeptList();
    /**
     * @author cyj
     * @date 2022.3.10$ 14.47$
     * @content :对部门进行删除
     */
    Boolean deleteDept(Integer id);
    /**
     * @author cyj
     * @date 2022.3.10$ 15.19$
     * @content :对部门进行删除
     */
    JsDept getDeptById(Integer id);
    /**
     * @author cyj
     * @date 2022.3.10$ 15.32$
     * @content :对部门进行修改
     */
    Boolean updateDept(JsDept jsDept);
    /**
     * @author cyj
     * @date 2022.3.10$ 15.48$
     * @content :对部门进行修改
     */
    Boolean updateDeptStatus(JsDept jsDept);
    /**
     * @author cyj
     * @date 2022.3.10$ 16.15$
     * @content :对部门进行修改
     */
    Boolean addDept(JsDept jsDept);
}
